#include<iostream>
#include"matrix.h"

int main()
{
//创造矩阵
    int m,n,test;
    std::cin>>m;
    std::cin>>n;
    Matrix<double> a(m,n);
    std::cin>>m;
    std::cin>>n;
    Matrix<double> b(m,n);
//判断方阵
    if(a.is_square())
	std::cout<<"a is square"<<std::endl;
    else
	std::cout<<"a is not square"<<std::endl;
//矩阵乘法
    Matrix<double> t;
    t= a * b;
    t.print();
    std::cin>>n;
    ColVector<double> c(n);
    ColVector<double> d(n);
    RowVector<double> e(n);
    RowVector<double> f(n);
//列向量乘行向量
    t= c * e;
    t.print();
//行向量乘列向量
    test = e * c;
    std::cout<<"the test is "<<test<<std::endl;
//列向量乘列向量
    test = c * d;
    std::cout<<"the test is "<<test<<std::endl;
//行向量乘行向量
    test = e * f;
    std::cout<<"the test is "<<test<<std::endl;

    return 0;
}